observable behavior